Private Declare Function mciGetErrorString Lib "winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpstrBuffer As String, ByVal uLength As Long) As Long
Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Function StartPlay()
mciSendString "play cd", 0, 0, 0
End Function
Function SetTrack(Track%)
mciSendString "seek cd to " & Str(Track), 0, 0, 0
End Function
Function StopPlay()
mciSendString "stop cd wait", 0, 0, 0
End Function
Function PausePlay()
mciSendString "pause cd", 0, 0, 0
End Function
Function EjectCD()
mciSendString "set cd door open", 0, 0, 0
End Function
Function CloseCD()
mciSendString "set cd door closed", 0, 0, 0
End Function
Function UnloadAll()
mciSendString "close all", 0, 0, 0
End Function
Function SetCDPlayerReady()
mciSendString "open cdaudio alias cd wait shareable", 0, 0, 0
End Function
Function SetFormat_tmsf()
mciSendString "set cd time format tmsf wait", 0, 0, 0
End Function
Function SetFormat_milliseconds()
mciSendString "set cd time format milliseconds", 0, 0, 0
End Function
Function CheckCD%()
Dim s As String * 30
mciSendString "status cd media present", s, Len(s), 0
CheckCD = s
End Function
Function GetNumTracks%()
Dim s As String * 30
mciSendString "status cd number of tracks wait", s, Len(s), 0
GetNumTracks = CInt(Mid$(s, 1, 2))
End Function
Function GetCDLength$()
Dim s As String * 30
mciSendString "status cd length wait", s, Len(s), 0